With the advent of modern communications networks, a single client device may be capable of receiving multiple network services from different service providers. For example, a client computer may receive Internet access from one service provider via a first internet protocol (“IP”) connection to a wide area network (such as the Internet) and television service from a second service provider via a second IP connection to the same wide area network. In order to enable the aforementioned dual functionality, typically, two gateways are “daisy-chained” together (i.e., connected in series). Each of the connected gateways are configured to provide Network Address Port Translation (“NAPT”) which is required for communicating data between the client device and one of the different service providers. However, the aforementioned typical configuration suffers from a number of drawbacks. One drawback is that the first gateway in the series is configured to apply NAPT to all incoming traffic regardless of its destination. For example, a typical configuration may include a client computer, in communication with daisy-chained gateways A and B, which sends different types of data traffic to an unmanaged data service provider A and a managed data service provider B through the gateways. Gateway A may be associated with and provide NAPT for the unmanaged data service provider A while gateway B may be associated with and provide NAPT for the managed data service provider B. However, since gateway A applies NAPT to all incoming data traffic, regardless of its destination, data traffic which is destined for the managed service provider B would have NAPT applied twice, once by gateway A and once by gateway B. One result of this double layer of NAPT is that some applications (i.e., data) are blocked from reaching the appropriate service provider. It is with respect to these considerations and others that the various embodiments of the present invention have been made.